package org.royaldev.thehumanity.server.configurations.jtwig; import com.lyncode.jtwig.mvc.JtwigViewResolver; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; @Configuration @EnableWebMvc public class JTwigConfiguration { @Bean public JTwigFunctions userFunctions() { return new JTwigFunctions(); } @Bean public ViewResolver viewResolver() { final JtwigViewResolver viewResolver = new JtwigViewResolver(); viewResolver.setPrefix("/views/"); viewResolver.setSuffix(".twig"); viewResolver.configuration().render().functionRepository().include(this.userFunctions()); // Disable caching viewResolver.setCacheSystem((key, instanceProvider) -> { try { return instanceProvider.call(); } catch (final Exception ex) { return null; } }); return viewResolver; } }